Tracker/it

Nel febbraio 2022 il monitoraggio dei bug di FreeCAD è stato migrato a GitHub Issues. Il bug tracker Mantis descritto di seguito è ora in modalità di sola lettura.
link=https://freecadweb.org/tracker/MantisBT è il framework bugtracker utilizzato da FreeCAD
link=https://freecadweb.org/tracker/MantisBT è il framework bugtracker utilizzato da FreeCAD

Il FreeCAD BugTracker è il posto dove segnalare i bug, presentare le richieste di funzionalità, patch, o richiedere di fondere un proprio ramo, se avete sviluppato qualcosa usando Git. Il tracker è suddiviso in moduli, quindi cercate di essere specifici e di presentare la richiesta nella sottosezione appropriata. In caso di dubbio, lasciare il messaggio nella sezione "FreeCAD".


Flusso di lavoro raccomandato

Come mostrato nel diagramma di flusso sopra, prima di creare i ticket, cercare sempre prima nei forum e nel bugtracker per scoprire se il problema è già noto. Ciò consente di far risparmiare un sacco di tempo e di lavoro agli sviluppatori ed ai volontari che possono perciò dedicare più tempo per rendere FreeCAD ancora più fantastico.

Segnalare i bug

Quando si pensa di aver trovato un bug, si è invitati a segnalarlo lì, se si è prima discusso la questione nelle sedi opportune.

Prima di segnalare un bug, si prega di verificare i seguenti punti:

Richiedere delle nuove funzioni

Se desiderate qualcosa che in FreeCAD che non è ancora implementato, it is not a bug but a feature request questo non è un bug, ma una richiesta di nuove funzionalità.

  1. IMPORTANTEː Prima di richiedere una potenziale funzione assicurarsi di essere il primo a farlo cercando nei forum e nel bugtracker. Se non ci sono ticket o discussioni preesistenti, il passaggio successivo èː
  2. Avviare un thread del forum per discutere la propria richiesta di funzione con la comunità tramite il Open Discussion forum.
  3. Una volta che la comunità ha accettato che si tratta di una funzione valida, è quindi possibile aprire un ticket sul tracker (da registrare come "richiesta di funzione" invece di "bug").
Pagina di segnalazione Bugtracker di FreeCAD: utilizzare il menu a discesa per designare correttamente il tipo di ticket

Inviare patch

Nel caso in cui si programmi una correzione di un bug, un'estensione o qualcos'altro che può essere di uso pubblico in FreeCAD, inviare la patch come "Pull Request" a GitHub.

  1. Per una richiesta ampia, complessa o che cambia il comportamento, aprire un thread del forum nel Developer subforum per annunciare e discutere la tua patch. Per piccole correzioni di bug questo non è necessario.
  2. Inviare la Pull Request (PR) al FreeCAD GitHub repo. Il messaggio di invio della PR sarà precompilato con una lista di controllo da seguire per garantire che il tuo invio abbia le migliori possibilità di una rapida accettazione. Se non si è mai lavorato con git prima o non si ha familiarità con l'invio di una PR a github, leggere la nostra introduzione alla pagina wiki github.
  3. Si deve essere presenti alla discussione, sia nel forum che nella richiesta della pull di GitHub, in modo che il codice possa potenzialmente essere unito in modo più efficace.

Richiedere la fusione

(Stesse linee guida di come Inviare delle patches)

Se avete creato un ramo git contenente delle modifiche che desiderate far confluire nel codice di FreeCAD, potete fare la richiesta di avere la recensione e la fusione del vostro ramo, se ​​gli sviluppatori di FreeCAD sono d'accordo. È necessario pubblicare prima il ramo in un repository git pubblico (github, bitbucket, sourceforge ...) e poi fornire l'URL del vostro ramo nella richiesta di unione.

Suggerimenti e trucchi per MantisBT

Markup di MantisBT

MantisBT (Mantis Bug Tracker) ha il proprio markup.

MantisBT BBCode

Oltre al suddetto Markup di MantisBT si ha anche la possibilità di utilizzare il formato BBCode. Per un elenco completo, vedere la pagina del plug-in BBCode plus. Ecco un elenco di tag BBCode supportatiː
[img][/img] - Images
[url][/url] - Links
[email][/email] - Email addresses
[color=red][/color] - Colored text
[highlight=yellow][/highlight] - Highlighted text
[size][/size] - Font size
[list][/list] - Lists
[list=1][/list] - Numbered lists (number is starting number)
[*] - List items
[b][/b] - Bold
[u][/u] - underline
[i][/i] - Italic
[s][/s] - Strikethrough
[left][/left] - Left align
[center][/center] - Center
[right][/right] - Right align
[justify][/justify] - Justify
[hr] - Horizontal rule
[sub][/sub] - Subscript
[sup][/sup] - Superscript
[table][/table] - Table
[table=1][/table] - Table with border of specified width
[tr][/tr] - Table row
[td][/td] - Table column
[code][/code] - Code block
[code=sql][/code] - Code block with language definition
[code start=3][/code] - Code block with line numbers starting at number
[quote][/quote] - Quote by *someone* (no name)
[quote=name][/quote] - Quote by *name*

MantisBT <=> GitHub Markup

Di seguito sono riportate parole chiave speciali del plug-in MantisBT Source-Integration che si collegheranno al repository GitHub di FreeCAD. Vedere GitHub and MantisBT.

GitHub e MantisBT

Il bugtracker di FreeCAD ha un plug-in chiamato Source Integration che essenzialmente collega il repository GitHub di FreeCAD al nostro tracker MantisBT. Rende più facile tracciare e associare i commit git ai rispettivi ticket MantisBT. Il plug-in Source Integration scansiona i messaggi di git commit alla ricerca di parole chiave specifiche per eseguire le seguenti azioni:

Nota Le seguenti parole chiave devono essere aggiunte nel messaggio git commit e non nell'oggetto PR

Riferimento remoto a un ticket

L'utilizzo di questo modello assocerà automaticamente un commit git a un ticket (Nota: questo non chiuderà il ticket.) Il formato MantisBT riconoscerà:

Per i curiosi ecco la regex che MantisBT utilizza per questa operazione:
/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Risoluzione remota di un ticket

Il formato MantisBT riconoscerà:

Per i curiosi ecco la regex che MantisBT utilizza per questa operazione:
/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i